package com.gxt.maket.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.gxt.basic.domain.BaseDomain;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * <p>
 * 
 * </p>
 *
 * @author gxt
 * @since 2022-10-24
 */
public class Activity extends BaseDomain{

    private static final long serialVersionUID = 1L;

    private Long id;
    /**
     * 名字
     */
    private String name;
    /**
     * 活动的优惠方式-关联字典明细表的id
     */
    private Long preferentialMethodId;
    /**
     * 活动的开始时间
     */
    private Date startDate;
    /**
     * 活动的结束时间
     */
    private Date endDate;
    /**
     * 活动的描述
     */
    private String description;
    private Date createTime;
    /**
     * 谁创建的活动
     */
    private Long createBy;
    /**
     * 记录最后一次修改时间
     */
    private Date editTime;
    /**
     * 谁最后一次修改
     */
    private Long editBy;


    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Long getPreferentialMethodId() {
        return preferentialMethodId;
    }

    public void setPreferentialMethodId(Long preferentialMethodId) {
        this.preferentialMethodId = preferentialMethodId;
    }

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    public Date getStartDate() {
        return startDate;
    }

    @DateTimeFormat
    public void setStartDate(Date startDate) {
        this.startDate = startDate;
    }

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    public Date getEndDate() {
        return endDate;
    }

    @DateTimeFormat
    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    public Date getCreateTime() {
        return createTime;
    }

    @DateTimeFormat
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Long getCreateBy() {
        return createBy;
    }

    public void setCreateBy(Long createBy) {
        this.createBy = createBy;
    }

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    public Date getEditTime() {
        return editTime;
    }

    @DateTimeFormat
    public void setEditTime(Date editTime) {
        this.editTime = editTime;
    }

    public Long getEditBy() {
        return editBy;
    }

    public void setEditBy(Long editBy) {
        this.editBy = editBy;
    }

    @Override
    public String toString() {
        return "Activity{" +
        ", id=" + id +
        ", name=" + name +
        ", preferentialMethodId=" + preferentialMethodId +
        ", startDate=" + startDate +
        ", endDate=" + endDate +
        ", description=" + description +
        ", createTime=" + createTime +
        ", createBy=" + createBy +
        ", editTime=" + editTime +
        ", editBy=" + editBy +
        "}";
    }
}
